/**
 * 请求拦截
 * @param {Object} http
 */

module.exports = (vm) => {
	uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
			// 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
			config.data = config.data || {}
			// 可以在此通过vm引用vuex中的变量，具体值在vm.$store.state中
			// console.log(vm.$store.state);
			if (config.custom.json) {
				config.header['content-type'] = "application/json"
			} else {
				config.header['content-type'] = 'application/x-www-form-urlencoded'
			}
			if (config.custom.auth) {
				config.header.noToken = true;
				var username = 'client';
				var password = '$2a$10$1iXwv8Do.s4oYoF8bN4ZvOqf1rAhZfzmpLxR2qjUPrNJZ5WbICRaO'
				var tok = username + ':' + password;
				// var hash = Base64.encode(tok);
				config.header.Authorization = "Basic " + hash;
			} else {
				var token = uni.getStorageSync("token")
				if (token) {
					config.header.Authorization = "Bearer " + token
				}
			}
			if(config.custom.useApi){
				config.baseURL=''
			}
			
			return config
		}, (config) => // 可使用async await 做异步操作
		Promise.reject(config))
}
